fix(telegram): restore /start menu and UX copy - #26
Merged
Conversation
Update song source label, restore skip button on optional chart key step, and publish /start with Telegram Commands menu button. Add docs and tests for startup and handler behavior.
scottishwidow
commented
Apr 25, 2026
scottishwidow
left a comment
Owner
Author
There was a problem hiding this comment.
Self-review completed.
No blocking findings found in the PR diff. The handler changes are narrowly scoped, use existing reply-keyboard helpers, and the startup change uses set_my_commands plus MenuButtonCommands from the installed python-telegram-bot API.
Residual caveat: targeted tests, ruff, format check, and mypy passed locally. Full pytest did not complete in this environment because it hangs at tests/test_repertoire_backup_service.py::test_export_backup_contains_manifest_and_chart_files, which appears unrelated to this PR's touched files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Джерело (оригінал)Пропуститиbutton for optional chart key input (keepСкасувати)/startcommand on startup and set Telegram chat menu button to Commandsdocs/features/Changes
src/handlers/repertoire.py: updateformat_songsource label copysrc/handlers/charts.py: useskip_cancel_markupfor chart-key promptsrc/bot/application.py: replace command deletion with:set_my_commands([BotCommand("start", "Відкрити головне меню")])set_chat_menu_button(MenuButtonCommands())tests/test_handlers.pytests/test_application.pydocs/features/start-command-recovery-and-copy-fixes.mddocs/features/README.mdValidation
UV_CACHE_DIR=.uv-cache uv run pytest tests/test_handlers.py tests/test_application.py✅ (50 passed)UV_CACHE_DIR=.uv-cache uv run ruff check .✅UV_CACHE_DIR=.uv-cache uv run ruff format --check .✅UV_CACHE_DIR=.uv-cache uv run mypy✅UV_CACHE_DIR=.uv-cache uv run pytesttests/test_repertoire_backup_service.py::test_export_backup_contains_manifest_and_chart_files(timed out while isolating)Notes
Telegram does not provide a reliable API to re-show the large first-run "Start" prompt for users who cleared history; exposing
/startin Commands menu is the practical recovery path.